package com.ssy.lingxi.purchase.api.dto.response.tender;

import com.ssy.lingxi.purchase.api.dto.request.tender.InviteTenderAreaRequest;
import com.ssy.lingxi.purchase.api.dto.request.tender.InviteTenderFileRequest;
import com.ssy.lingxi.purchase.api.dto.request.tender.InviteTenderMaterielRequest;
import com.ssy.lingxi.purchase.api.dto.request.tender.InviteTenderShopRequest;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 招标实体类
 * @author jw.chen
 * @version 2.0.0
 * @date 2021/3/1
 */
@Data
public class InviteTenderDetailResponse implements Serializable {
    private static final long serialVersionUID = 1899109786507233842L;
    /**
     * 主键id
     */
    private Long id;

    /**
     * 招标编号
     */
    private String code;

    /**
     * 招标外部状态: InviteTenderOutStatusEnum.class
     */
    private String inviteTenderOutStatusValue;

    /**
     * 招标内部状态: InviteTenderInStatusEnum.class
     */
    private String inviteTenderInStatusValue;

    /**
     * 采购类型: 1-单次采购;2-协议采购;
     */
    private Integer purchaseType;

    /**
     * 招标项目名
     */
    private String projectName;

    /**
     * 招标摘要
     */
    private String remark;

    /**
     * 项目预算
     */
    private Double budget;

    /**
     * 是否不限制区域
     */
    private Boolean isAllArea;

    /**
     * 归属地市
     */
    private List<InviteTenderAreaRequest> inviteTenderAreaList;

    /**
     * 招标物料
     */
    private List<InviteTenderMaterielRequest> materielList;

    /**
     * 投标开始时间
     */
    private Long inviteTenderStartTime;

    /**
     * 投标结束时间
     */
    private Long inviteTenderEndTime;

    /**
     * 期望交付日期
     */
    private Long hopeDate;

    /**
     * 目标价
     */
    private Double targetPrice;

    /**
     * 招标要求
     */
    private String inviteTenderRequirement;

    /**
     * 招标文件
     */
    private List<InviteTenderFileRequest> inviteTenderFile;

    /**
     * 报名开始时间
     */
    private Long registerStartTime;

    /**
     * 报名结束时间
     */
    private Long registerEndTime;

    /**
     * 报名要求
     */
    private String registerRequirement;

    /**
     * 报名要求附件
     */
    private List<InviteTenderFileRequest> registerFile;

    /**
     * 资格预审
     */
    private Boolean isQualificationCheck;

    /**
     * 预审开始时间
     */
    private Long preCheckStartTime;

    /**
     * 预审结束时间
     */
    private Long preCheckEndTime;

    /**
     * 预审要求
     */
    private String preCheckRequirement;

    /**
     * 预审要求附件
     */
    private List<InviteTenderFileRequest> preCheckFile;

    /**
     * 评标开始时间
     */
    private Long evaluationStartTime;

    /**
     * 评标结束时间
     */
    private Long evaluationEndTime;

    /**
     * 评标要求
     */
    private String evaluationRequirement;

    /**
     * 评标要求附件
     */
    private List<InviteTenderFileRequest> evaluationFile;

    /**
     * 是否在线评标
     */
    private Boolean isOnlineEvaluation;

    /**
     * 评标项模板
     */
    private Long templateId;

    /**
     * 评标项模板名称
     */
    private String templateName;

    /**
     * 开标时间
     */
    private Long openTenderTime;

    /**
     * 付款方式
     */
    private String payType;

    /**
     * 交付地址id
     */
    private Integer deliverAddressId;

    /**
     * 交付地址
     */
    private String deliverAddress;

    /**
     * 交付要求
     */
    private String deliverRequirement;

    /**
     * 税费要求
     */
    private String taxationRequirement;

    /**
     * 物流要求
     */
    private String logisticsRequirement;

    /**
     * 包装要求
     */
    private String packingRequirement;

    /**
     * 其他要求
     */
    private String otherRequirement;

    /**
     * 招标方式：1-公开招标; 2-系统匹配; 3-邀请招标;
     */
    private Integer inviteTenderType;

    /**
     * 招标发布的商城
     */
    private List<InviteTenderShopRequest> inviteTenderShopList;

    /**
     * 符合投标会员
     */
    private List<InviteTenderMemberDetailResponse> memberList;

    /**
     * 评标记录
     */
    private List<EvaluationInviteTenderMemberResponse> evaluationInviteMemberList;

    /**
     * 评标附件
     */
    private List<InviteTenderFileRequest> evaluationTenderFile;

    /**
     * 推荐中标会员
     */
    private List<EvaluationTenderRecommendResponse> evaluationTenderRecommendList;

    /**
     * 中标理由
     */
    private String winTenderReason;

    /**
     * 中标附件
     */
    private List<InviteTenderShopRequest> winTenderFile;

    /**
     * 会员id
     */
    private Long memberId;

    /**
     * 会员名称
     */
    private String memberName;

    /**
     * 会员角色id
     */
    private Long memberRoleId;

    /**
     * 会员角色名称
     */
    private String memberRoleName;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 用户名称
     */
    private String userName;

    /**
     * 发布时间
     */
    private Long createTime;

    /**
     * 发布商城类型 1.企业商城 6.采购门户
     * （招标方式不为公开招标也需要记录用于区分b2b商城与采购门户中的采购能力-220418）
     */
    private Integer shopType;
}
